package AccionBoton;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.List;
import java.util.ResourceBundle;

import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

import modelUtil.Util;
import paginas.PaginaFuncionBoton;
import plantilla.AccionBotonTO;
import util.AccionesEjecutar;
import util.BotonPersonalizado;

public class AccionModificarAccionBoton implements ActionListener{
	
	private PaginaFuncionBoton _frame;
	private JLabel TextoGrupoAccion;
	private JLabel TextoArgumentoAccion = new JLabel();
	private JTextField TextoArgumentoAccion2 = new JTextField("");
	private JTextField TextoAccionConcreta2 = new JTextField("");
	private JDialog ventana = new JDialog();
	private JPanel panel = new JPanel();

	
	public AccionModificarAccionBoton(PaginaFuncionBoton frame){
		
	_frame = frame;	
		
	}
	
	
	public void actionPerformed(ActionEvent e){
		ventana = new JDialog();
		TextoArgumentoAccion2 = new JTextField("");
		TextoAccionConcreta2 = new JTextField("");
		int indice = _frame.getList().getSelectedIndex();
		List<AccionBotonTO> acciones = _frame.get_botonTO().getAccionEjecutar();
if(indice>-1){
		panel = new JPanel();
		JLabel grupoAccion = new JLabel(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pop_up_modificar_accion_grupo_accion"));
		JLabel TextoGrupoAccion = new JLabel(ResourceBundle.getBundle("internacionalizacion/Acciones").getString(acciones.get(indice).getGrupoAccion()));
		JLabel accionConcreta = new JLabel(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pop_up_modificar_accion_accion_concreta"));
		JLabel TextoAccionConcreta=new JLabel();
		JLabel argumentoAccion = new JLabel(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_pop_up_modificar_accion_argumento_accion"));
		
		grupoAccion.setPreferredSize(new Dimension(150,30));
		TextoGrupoAccion.setPreferredSize(new Dimension(150,30));
		accionConcreta.setPreferredSize(new Dimension(150,30));
		TextoAccionConcreta.setPreferredSize(new Dimension(150,30));
		argumentoAccion.setPreferredSize(new Dimension(150,30));
		TextoArgumentoAccion.setPreferredSize(new Dimension(150,30));
		TextoArgumentoAccion2.setPreferredSize(new Dimension(150,30));


					try{
					TextoAccionConcreta = new JLabel(ResourceBundle.getBundle("internacionalizacion/Acciones").getString(acciones.get(indice).getAccionConcreta()));
					}catch(Exception b){
						
						TextoAccionConcreta = new JLabel();
						
					}
					

		TextoArgumentoAccion = new JLabel(acciones.get(indice).getArgumentoAccion());
		TextoArgumentoAccion.setPreferredSize(new Dimension(100,40));
		BotonPersonalizado b1 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_popup_admin_aceptar"), "lib//Aceptar.png");
		b1.addActionListener(new AccionGuardarModificacionAccionBoton(_frame,TextoArgumentoAccion2,TextoAccionConcreta2, this));
		BotonPersonalizado b2 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_popup_admin_cancelar"), "lib//cancelar.png");
		b2.addActionListener(new AccionCerrar(ventana,_frame));
		
		
		b1.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b1.setFocusable(true);
		b1.setMnemonic(KeyEvent.VK_A);
		b1.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_A);
		b1.setBackground(new Color(238,238,238));
		b1.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_add_funcion_boton"));
		b1.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_add_funcion_boton"));
		b1.addFocusListener(new AccionFocoCreditos(b1));
		b1.setPreferredSize(new Dimension(100,40));
		
		b2.getLabelImagen().setHorizontalAlignment(SwingConstants.LEFT);
		b2.setFocusable(true);
		b2.setMnemonic(KeyEvent.VK_C);
		b2.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_C);
		b2.setBackground(new Color(238,238,238));
		b2.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_add_funcion_boton"));
		b2.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_add_funcion_boton"));
		b2.addFocusListener(new AccionFocoCreditos(b2));
		b2.setPreferredSize(new Dimension(100,40));

		

		GridBagLayout grid = new GridBagLayout();
		GridBagConstraints cons = new GridBagConstraints();
		cons.gridheight = 1;
		cons.gridwidth = 1;
		cons.fill = GridBagConstraints.BOTH;
		cons.gridx = 0;
		cons.gridy = 0;
		panel.setLayout(grid);
		grid.addLayoutComponent(grupoAccion, cons);
		panel.add(grupoAccion);
		cons.gridx = 1;
		grid.addLayoutComponent(TextoGrupoAccion, cons);
		panel.add(TextoGrupoAccion);
		cons.gridx = 0;
		cons.gridy = 1;
		grid.addLayoutComponent(accionConcreta, cons);
		panel.add(accionConcreta);
		cons.gridx = 1;

		if(TextoGrupoAccion.getText().equals(ResourceBundle.getBundle("internacionalizacion/Acciones").getString(AccionesEjecutar.GA_LTR_O_PLB))){
			
			TextoAccionConcreta2.setText(acciones.get(indice).getAccionConcreta());
			grid.addLayoutComponent(TextoAccionConcreta2, cons);
			panel.add(TextoAccionConcreta2);
		}else{
			if(TextoGrupoAccion.getText().equals(ResourceBundle.getBundle("internacionalizacion/Acciones").getString(AccionesEjecutar.GA_TCL_ESP_TC))){
				TextoAccionConcreta.setText(acciones.get(indice).getAccionConcreta());
				grid.addLayoutComponent(TextoAccionConcreta, cons);
				panel.add(TextoAccionConcreta);
				
			}else{
				if(TextoGrupoAccion.getText().equals(ResourceBundle.getBundle("internacionalizacion/Acciones").getString(AccionesEjecutar.GA_TCL_ESP_TD))){
					TextoAccionConcreta.setText(acciones.get(indice).getAccionConcreta());
					grid.addLayoutComponent(TextoAccionConcreta, cons);
					panel.add(TextoAccionConcreta);
					
				}else{
					if(TextoGrupoAccion.getText().equals(ResourceBundle.getBundle("internacionalizacion/Acciones").getString(AccionesEjecutar.GA_TCL_ESP_TCT))){
						TextoAccionConcreta.setText(acciones.get(indice).getAccionConcreta());
						grid.addLayoutComponent(TextoAccionConcreta, cons);
						panel.add(TextoAccionConcreta);
						
					}else{
				grid.addLayoutComponent(TextoAccionConcreta, cons);
				panel.add(TextoAccionConcreta);}
				}
			}
		}
		cons.gridx = 0;
		cons.gridy = 2;
		grid.addLayoutComponent(argumentoAccion, cons);
		panel.add(argumentoAccion);
		cons.gridx = 1;

		
			if(TextoAccionConcreta.getText().equals(ResourceBundle.getBundle("internacionalizacion/Acciones").getString(AccionesEjecutar.AC_I_URL))){
				TextoArgumentoAccion2.setText(TextoArgumentoAccion.getText());
				grid.addLayoutComponent(TextoArgumentoAccion2, cons);
				panel.add(TextoArgumentoAccion2);
				
			}else{
				grid.addLayoutComponent(TextoArgumentoAccion, cons);
				panel.add(TextoArgumentoAccion);
			}


		
		cons.gridx = 0;
		cons.gridy = 3;
		grid.addLayoutComponent(b1, cons);
		panel.add(b1);
		cons.gridx = 1;
		grid.addLayoutComponent(b2, cons);
		panel.add(b2);
		
		Toolkit tk = Toolkit.getDefaultToolkit();
		Dimension pos = tk.getScreenSize();
		
		ventana.add(panel);
		ventana.setBounds((pos.width/2) - 200, (pos.height/2) - 100, 400, 200);
		ventana.setAlwaysOnTop(true);
		ventana.setModal(true);
		ventana.setVisible(true);}else{
			
			
			Util.popup(0, ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_error_accion_no_seleccionada"));
		}

	}


	public JLabel getTextoArgumentoAccion() {
		return TextoArgumentoAccion;
	}


	public void setTextoArgumentoAccion(JLabel textoArgumentoAccion) {
		TextoArgumentoAccion = textoArgumentoAccion;
	}


	public JTextField getTextoArgumentoAccion2() {
		return TextoArgumentoAccion2;
	}


	public void setTextoArgumentoAccion2(JTextField textoArgumentoAccion2) {
		TextoArgumentoAccion2 = textoArgumentoAccion2;
	}


	public JDialog getVentana() {
		return ventana;
	}


	public void setVentana(JDialog ventana) {
		this.ventana = ventana;
	}


	public JTextField getTextoAccionConcreta2() {
		return TextoAccionConcreta2;
	}


	public void setTextoAccionConcreta2(JTextField textoAccionConcreta2) {
		TextoAccionConcreta2 = textoAccionConcreta2;
	}
	
	
}
